// relay.h
#ifndef RELAY_H
#define RELAY_H

#include "driver/i2c.h"
#include "esp_err.h"
#include "utils/i2c/keypad/keypad.h"

// 初始化继电器模块
int relay_init(void);

// 设置指定继电器状态
void setRelayState(uint8_t idx, uint8_t state);

// 切换指定继电器状态
void switcRelayState(uint8_t idx);

// 处理键盘事件
void relay_handle_keypad_event(keypad_event_t event);

// 设置新的继电器模块地址
esp_err_t relay_set_module_addr(uint8_t addr);
// 获取继电器模块地址
uint8_t config_get_relay_addr(void);

// 设置并保存继电器模块地址
esp_err_t config_set_relay_addr(uint8_t addr);
#endif // RELAY_H